Retrieval-based Language Models and Applications (2)
August 28, 2023
基于检索的大语言模型:定义
基于检索的大语言模型(LM)指的是在测试阶段,使用外部数据库的大语言模型。
大语言模型:
-
基于Transformer
-
自回归(Autoregressive)LM
通常讲的”语言模型”(language model)其实就是根据上文内容预测下一个可能跟随的单词,也就是常说的自左向右的语言模型任务。或者反过来,就是根据下文预测前面的单词(比如ELMO使用了从左到右、从右到左的语言模型),这种类型的language model被称为自回归语言模型(AR)。 缺点:只能利用上文或者下文的信息,不能同时利用上文和下文的信息
优点:对于生成类NLP任务,比如文本摘要、机器翻译等,在实际生成内容的时候,就是从左向右的,自回归语言模型天然匹配这个过程。而Bert这种DAE模式,在生成类NLP任务中,就面临训练过程和应用过程不一致的问题,导致生成类的NLP任务到目前为止都做不太好。
-
掩码(Masked)LM
掩码语言模型(Masked LM)是BERT的核心任务,它的目标是根据上下文预测被掩码的单词。在BERT中,15%的单词被随机掩码,然后模型需要预测这些单词。这种方式的好处是,模型不需要学习特定的预测单词的方式,而是可以学习到更通用的上下文表示。这种方式也可以看作是一种自监督学习,因为训练数据是自动生成的,而不是人工标注的。
缺点:只能利用上文或者下文的信息,不能同时利用上文和下文的信息
优点:对于生成类NLP任务,比如文本摘要、机器翻译等,在实际生成内容的时候,就是从左向右的,自回归语言模型天然匹配这个过程。而Bert这种DAE模式,在生成类NLP任务中,就面临训练过程和应用过程不一致的问题,导致生成类的NLP任务到目前为止都做不太好。
大语言模型提示(prompting):
- 事实探究(Fact Probing):The capital city of Ontario is [LM MASK]. (Toronto)
- 情感分析(Sentiment analysis):Cheaper than an iPod. It was [LM MASK]. (Great / terrible)
- 翻译(Translation):“Hello” in French is [LM MASK]. (Bonjour)
- 算术(Arithmetic):I’m good at math. 5 + 8 x 12 = [LM MASK]. (101)
在推理阶段结合外部数据库,从而显著提高对事实的判断,而非仅通过上文概率预测。
原始的外部数据库:至少数十亿~数万亿的token,非标记的数据集,非结构化数据(基于知识)。因此检索需要一个有效的索引(query不一定来自LM)。 目标是将数据存储中与查询最相似的一小部分元素子集,整合到LM中,从而提高LM的性能。
这种基于两份文本进行计算对应的相似度:
- 以tf的方式进行计算,即两个文本中相同的词越多,相似度越高。
- 以编码的方式进行计算,即将两个文本分别编码成向量,然后计算两个向量的相似度。
因此任务变成了:给定查询q,通过快速的近似近邻检索(ANN)计算出数据库中近似的topk个相似的元素,
近似近邻检索库(FAISS,SCANN…)
我们假设目前我们可以做到准确快速的近似近邻检索,那么我们就可以将这个近似近邻检索库和大语言模型结合起来,从而实现基于检索的大语言模型。
几个可能存在的问题:
- 检索查询内容是什么,何时检索?
- 在大语言模型中,我们检索什么?
- 如何将检索结果整合到大语言模型中?